package qc.module.iot.protocol;

import lombok.Data;

/**
 * Iot数据帧正文内容项，报文正文内容中解析出的一个数据项（采集时间、一个采集要素值就单独作为一个数据项）
 * 2025-11-22，考虑后继修改为：采集要素、数据时标、数据值；在一条报文中可能包含多个不同采集时标的要素值；
 *
 * @author QuCheng Tech
 * @since 2025/11/13
 */
@Data
public class IotFrameBodyDataItem {
    /**
     * 对应解析使用的字节数组
     */
    private byte[] bytes;
    /**
     * 对应解析使用的字节数组的Hex字符串
     */
    private String hexString;
    /**
     * 数据项的类型，标识是时间、采集要素还是其他
     */
    private IotFrameBodyDataItemTypeEnum type;
    /**
     * 表示该项是否是未知的的；已知/预期内的解析结果才保存到原始数据库中，如未明确的解析结果不保存到原始数据库中，否则无法确定对应的数据列名
     */
    private boolean isUnKnown;
    /**
     * 数据项的编码，用于存储到数据库或传递到其他系统中进行时标的编码
     */
    private String code;
    /**
     * 数据项的名称/标识，可以是来源于报文中的标识，也可以是根据协议固定的标识
     */
    private String name;
    /**
     * 数据项的值，根据数据项的类型不同值类型不同
     */
    private Object value;
}
